banda_1.jpg

Noţiuni generale despre algoritmi

Deşi ştinţa calculatoarelor este una relativ nouă, inălţându-se ca o adevărată explozie, după cum toţi ştim (cine nu are calculator zilele astea?),o mare parte din noţiunile ce stau la baza informaticii dateaza de foarte,foarte mult timp, chiar din Antichitate, şi s-au dezvoltat de-a lungul timpului.

external image 5vxb8qp4.png

Este şi cazul noţiunii de algoritm, poate unul dintre cele mai vechi concepte matematice aplicate informaticii.Termenul ,,algoritm” provine de la numele matematicianului şi astrologului arab Abu Ja’far Muhammad ibn Musa Al-Khwarizmi (780-850,Bagdad).Cea mai importantă lucrare a sa este Hisab al-jabr w’al-muqabala,iar titlul va conduce şi la geneza cuvantului ,,algebra”,utilizat pentru a defini ramura matematica omonimă.
Raportat la informatica actuală,despre noţiunea de algoritm putem afirma următoarele:
· Un algoritm este o mulţime de reguli ce se pot aplica in cadrul procesului de construcţie a soluţiei şi pot fi executate fie manual sau automat.
· Un algortim este o secvenţa de paşi care transforma mulţimea datelor de un intrare in datele de ieşire,corespunzătoare rezultatelor dorite.
· Um algoritm este o secvenţă de operaţii executate cu date ce trebuie organizate in structuri de date.
· Un algoritm pentru o problemă dată este mulţimea instrucţiunilor care garantează găsirea unei soluţii corecte pentru orice instanţă a problemei,intr-un număr finit de paşi.
Există numeroase exemple de algoritmi celebri in istorie,unii dintre ei invăţaţi şi ştiuţi de orice elev de şcoală generală(Algoritmul clasic de inmulţire a numerelor;Algoritmul de extragere a rădăcinii pătrate).Insă există şi algoritmi mai puţin cunoscuţi care s-au dovedit a fi foarte utili in practică.De exemplu,Algoritmul lui Euclid,care ajuta la calcularea celui mai mic divizor comun.Euclid,poate cel mai proeminent matematician al epocii sale,dacă nu chiar al intregii istorii.

Un alt exemplu este ,,Ciurul lui Eratostene”.Deşi foarte putin cunoscut,Eratostene a fost primul mare geograf al lumii antice,considerat fondatorul geografiei fizice şi matematice.Printre realizările lui notabile se numără:măsurarea circumferinţei Pămantului(valoare confirmată ulterior),realizarea primei harţi a lumii pe care a trasat lini paralele si sugerarea anilor bisecţi,care se repetă din 4 in 4 ani.

Pentru a defini cat mai bine un algoritm,este nevoie şi de nişte proprietăţi specifice,care să-i asigure eficienţa.Proprietăţile sunt:
· Existenţa datelor de intrare(input data)
· Existenţa datelor de ieşire(output data)
· Determinismul(necesitatea cunoaşterii pasului anterior unui alt pas). picto_7.jpg
· Corectitudinea rezultatelor in raport cu datele de intrare.
· Finitudinea(un numar finit de pasi pentru orice set de date de intrare).
· Eficienţa(furnizarea soluţiei prin consumul eficient al resurselor).
· Generalitatea(aplicabilitatea programului intregii clase de probleme ale caror date de instrare satisfac anumite condiţii).